package com.wyr.leetcode.step1.number;

import java.util.ArrayList;
import java.util.List;

public class ReadBinaryWatch {
    /**
     * 401. 二进制手表
     *
     * 给你一个整数 turnedOn ，表示当前亮着的 LED 的数量。初始时，正上方的二进制手表上亮着的 LED 的数量为 turnedOn 。
     *
     * https://leetcode.cn/problems/binary-watch/description/
     */

    public List<String> readBinaryWatch(int turnedOn) {
        List<String> ans = new ArrayList<String>();
        for (int h = 0; h < 12; ++h) {
            for (int m = 0; m < 60; ++m) {
                if (Integer.bitCount(h) + Integer.bitCount(m) == turnedOn) {
                    ans.add(h + ":" + (m < 10 ? "0" : "") + m);
                }
            }
        }
        return ans;
    }
}
